package cn.neusoft.controller;

import cn.neusoft.vo.ResultBean;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.UUID;

@Controller
public class UploadController {

	/*
	MultipartFile 将上传上来的文件封装成这个类型
	 */
	@ResponseBody
	@RequestMapping("/upload")
	// 必须要有MultipartFile类型参数。而且参数名必须与表单file控件名一致
	public ResultBean upload(MultipartFile myFile) {
		//上传图片存储目录
		String path = "d:/upload1118";
		//获取文件名并使用UUID生成新文件名     73482hdksakd398aa.png
		String fileName = myFile.getOriginalFilename();
		String newFileName = UUID.randomUUID().toString().replaceAll("-","") + fileName;
		//在指定上传图片存储目录中创建新文件    d:/upload1118/73482hdksakd398aa.png
		File targetFile = new File(path, newFileName);
		//如果找不到指定目录和文件，就新创建此目录和文件
		if (!targetFile.getParentFile().exists()) {
			targetFile.getParentFile().mkdirs();
		}
		//将文件写入硬盘（myFile在内存中）
		try {
			myFile.transferTo(targetFile); //复制文件
			String urlImg="http://localhost:8080/img/"+newFileName;
			return ResultBean.SUCCESS(urlImg);
		} catch (Exception e) {
			e.printStackTrace();
			return ResultBean.ERROR(e.getMessage());
		}
	}
}